package com.exrobot.module.rbt.service.mqtt;

import com.alibaba.fastjson.JSONObject;
import com.exrobot.module.rbt.controller.app.vo.*;
import com.google.gson.JsonArray;
import org.eclipse.paho.client.mqttv3.MqttException;

import java.util.List;

public interface MqttMessageService {
    /**
     * 发送消息到默认主题
     */
    void sendToMqtt(String payload) throws MqttException;

    /**
     * 发送消息到指定主题
     */
    void sendToMqtt(String topic, String payload) throws MqttException;

    /**
     * 发送消息到指定主题并指定QoS
     */
    void sendToMqtt(String topic, int qos, String payload) throws MqttException;

    /**
     * 发送普通任务
     */
    void sendCommonTask(String sn, List<CommonTaskVO> list);

    /**
     * 发布充电任务消息
     */
    void sendChargeTask(String sn);

    /**
     * 发布紫外灯消息
     */
    void sendUvlampTask(String sn, UvlampTaskVO uvlampTaskVO);

    /**
     * 发布订餐码取消
     */
    void sendMealCodeDelete(String sn, MealCodeDeleteVO mealCodeDeleteVO);

    /**
     * 发布订餐验证码消息
     */
    void sendMealCode(String sn, MealCodeVO mealCodeVO);

    /**
     * 发布配送订单信息
     * */
    void sendOrderDelivery(List<OrderDeliveryVO> list);

    /**
     * 发布小程序消息
     * */
    void sendMiniproMessage(MiniproMessageVO messageVO);

    /**
     * 接收消息处理
     */
    void messageHanding(String topic,String payload);
}
